home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 11
/
Cream of the Crop 11-2.iso
/
extra_2
/
fmtrk145.zip
/
FMTRK.DOC
< prev
next >
Wrap
Text File
|
1995-11-29
|
18KB
|
340 lines
█▀▀▀ ██ ██ █ █ ▄ ▄
█▀▀ █ █ █ ▀▀ ▀█▀ █▀ █▀█ █▀▀ ██ █▄▀ █▀
█ ▀ ▀ ▀ ▀▀ ▀ ▀▀▀▀ ▀▀▀ ▀ ▀ ▀▀▀ ▀ █
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
FM Tracker - Version 1.45
Copyright (C) 1993,1994,1995 Sagitta Software
FM Tracker is a program, which can be used for composing and playing
polyphonic music. It uses the FM synthesizer chip on an AdLib, Sound Blaster
or compatible to generate sounds. The advantages with the FM music contra
music created with digital samples are:
- Little disk/memory space required
- Almost no CPU power required (not when using GUS however; GUS won't
need more CPU power for music consisting of digital samples)
- Digital samples can somtimes sound more or less metallic
An inconvenience should also be mentioned: All sounds are synthetic. Therefore
instruments may sound unrealistic.
───────────────────────────Copyright notice────────────────────────────────────
THIS SOFTWARE IS DISTRIBUTED AS FREEWARE. THAT IS, THIS PRODUCT CAN BE COPIED
AND GIVEN AWAY, AS LONG AS IT IS NOT TAKEN ANY CHARGE FOR IT, EXCEPT OF OWN
EXPENCES. WHEN GIVEN AWAY, THE FOLLOWING FILES MUST BE INCLUDED, AND THEY HAVE
TO BE UNMODIFIED:
FMTRK.EXE
FMTRK.DOC
──────────────────────────────Disclaimer───────────────────────────────────────
SAGITTA SOFTWARE MAKES NO WARRANTY, EITHER EXPRESS OR IMPLIED, WITH RESPECT TO
THIS SOFTWARE, ITS QUALITY, PERFORMANCE, MERCHANTABILITY OR FITNESS FOR ANY
PARTICULAR PURPOSE. THE ENTIRE RISK AS TO ITS QUALITY AND PERFORMANCE IS WITH
THE USER. IN NO EVENT WILL SAGITTA SOFTWARE BE LIABLE FOR DIRECT, INDIRECT,
INCIDENTAL, OR CONSEQUENTIAL DAMAGES RESULTING FROM ANY DEFECT IN THE PROGRAM
EVEN IF SAGITTA SOFTWARE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
───────────────────────────────────────────────────────────────────────────────
Files in this package:
──────────────────────
FMTRK.EXE FM Tracker v1.45
FMTRK.DOC Documentation for FM Tracker
FMTI.DOC FM Tracker Interface Version History
FMTP.EXE FM Tracker Player v1.25
FMTP.DOC Documentation for FM Tracker Player
System requirements:
- IBM PC or compatible, preferably with an 80286 processor or better
- AdLib / Sound Blaster sound card or compatible
- VGA card (FM Tracker uses the text mode with 50 lines)
- DOS 4.0 or newer
Also recommended: Extended keyboard
How to make music
─────────────────
The first thing to do before making the music, is to decide what kind of
track/channel format to use. The two choices are:
9 melodic channels
6 melodic + 5 percussive channels
The 5 percussive instruments are:
bass drum (track 6)
snare drum (track 7)
tom tom (track 8)
top cymbal (track 9)
hihat (track 10)
You don't necessarily have to choose the one with 5 percussive channels even
if you are going to use percussive instruments in the song, because it is
also possible to use that kind of instruments in a melodic channel. But it
might be more difficult to create a good percussive instrument for a melodic
track. In that case, use the 6 mel.+5 perc. track format.
Pattern examples:
9 melodic tracks
┌───dec─────────────────────Line number──────────────────────────hex──────┐
│ │
│ Track 0 Track 1 Track 2 Track 3 Track 4 Track 5 Track 6 Track 7 Track 8 │
│ │
07 --- 000 --- 000 E-5 E81 --- 000 --- 000 --- 000 --- 000 B-4 000 --- 000 07
08 --- 000 --- 000 └┤│ └┼┘ --- 000 --- F03 --- 000 --- 000 --- 000 --- 000 08
09 C#2 000 --- 000 -││ 0│0 --- 000 --- 000 --- 000 --- 000 --- 000 --- 000 09
10 --- 000 --- 000 -││ 0│0 --- 000 --- 000 --- 000 --- 000 --- 000 --- 000 0A
┌─────────┘└┐ │
│ │ └─────┐
note octave └special effect codes
6 melodic + 5 percussive tracks
┌───dec─────────────────────Line number──────────────────────────hex───────┐
│ │
│ Track 0 Track 1 Track 2 Track 3 Track 4 Track 5 BD SD TT TC HH │
│ │
07 --- 000 --- 000 E-5 E81 --- 000 --- 000 --- 000 -000 -000 -000 -000 -000 07
08 --- 000 --- 000 -││ └┼┘ --- 000 --- F03 --- 000 -000 *000 -000 -000 -000 08
09 C#2 000 --- 000 -││ 0│0 --- 000 --- 000 --- 000 -000 │E01 -000 -000 -000 09
10 --- 000 --- 000 -││ 0│0 --- 000 --- 000 --- 000 -000 │└┼┘ -000 -000 -000 0A
┌─────────┘│ │ │ │
│ ┌┘ │ make percussive sound────┘ │
note octave └────special effect codes─────────┘
BD=bass drum SD=snare drum TOM=tom tom TC=top cymbal HH=hihat
When you have decided which format to use, you should make one or more
instruments. Press F3 to enter the instrument editor. There are 12 entries if
you edit a melodic instrument. Each entry consists of a two-digit hex value.
This hex-value can often be divided into under-entries. They are shown at the
bottom of the instrument editor window. Press 'I' if you want to enter that
part, but as you get more experienced, you will probably prefer to enter the
instrument's data directly (two-digit hex entries).
You can also use the instruments from an other song. Then load the song (F9)
and delete it from memory (Alt-D). Answer no at "Clear instruments too".
When you have some instruments ready, you can start to enter some notes. Press
F2 to move over to the pattern editor. Here the keyboard works as an two-row
organ.
The first row is:
S D G H J L ¥ black
Z X C V B N M , . - white
which in notes equals to:
C# D# F# G# A# C# D#
C D E F G A B C D E
The second row is:
2 3 5 6 7 9 0 \ black
Q W E R T Y U I O P Å white
which in notes equals to:
C# D# F# G# A# C# D# F#
C D E F G A B C D E F
Use Tab/Shift-Tab to move to the next/previous track.
Before you play the music, you have to tell FM Tracker in what order the
patterns are to be played. Press F7. The same patterns can be repeated as many
times as you like. If you type in pattern FF, the song will start from the
beginning, because pattern number FF doesn't exist.
Then the song is ready to be played. Press F5 to do so. Press F10 to save it.
Files
─────
The songs that you write in FM Tracker are saved in the FMT-format. The
FMT-format is constantly improved. That is, if you load a song which is saved
with an FMT version newer than the FM Tracker version you are using, you will
either get a warning, or FM Tracker won't recognize the file. The result if
you get a warning, might be that the song doesn't sound properly. If this
happens, get yourself a newer FM Tracker version.
It is also possible to load HSC files (but no saving). If you want to load such
a file, type in the full HSC file name with the extention. The extention for an
HSC file has to be HSC. That is because there is no 100% safe way to recognize
an HSC file.
Special effects
───────────────
As with MOD-tracker, it is possible to use special effects in FM Tracker,
such as setting the volume and the tempo. Special effects are entered in the
three last hexadecimal digits (nibbles) in each track entry. The first nibble,
sometimes together with the second, and sometimes even with the third,
indicates the function. The rest of the nibbles form the argument(s) for the
function. When nibble 1 is E and nibble 2 is F, there are no argument nibbles.
Nibble 3 specifies a function. To call this function 8xx is used, where xx is
the argument.
Here is a description of the special effect codes available in this version
of FM Tracker:
│ Nibble 1 │ Nibble 2 │ Nibble 3 │ Description
├──────────┼──────────┼──────────┼────────────────────────────────────────────
│ 1 │ 0-F │ 0-F │ Portamento up.
│ 2 │ 0-F │ 0-F │ Portamento down.
│ 3 │ unused │ unused │ Portamento to tone/Triggerless note change.
│ │ │ │ Note that the two last nibbles aren't used
│ │ │ │ (for the present).
│ 4 │ 0-F │ 0-F │ Vibrato. Nibble 2 specifies the vibrato
│ │ │ │ speed, nibble 3 specifies the amount of
│ │ │ │ vibrato.
│ 8 │ 0-F │ 0-F │ Replaceable function (see Special Effect
│ │ │ │ Code EF).
│ 9 │ 0-F │ 0-F │ Set instrument. In FM Tracker you set the
│ │ │ │ instrument with a special effect code. In
│ │ │ │ a "normal" tracker this is entered after
│ │ │ │ each note.
│ A │ 0-F │ 0-F │ Volume slide. Nibble 2 specifies the value
│ │ │ │ that should be added to the current volume,
│ │ │ │ nibble 3 specifies the value, which is to
│ │ │ │ be subtracted.
│ B │ 0-7 │ 0-F │ Jump to order. Nibble2+3 specifies which
│ │ │ │ number in the order list to jump to.
│ C │ 0-4 │ 0-F │ Set note volume. The higher value in
│ │ │ │ nibble 2+3, the louder volume.
│ D │ 0-3 │ 0-F │ Break pattern, and jump to the line number
│ │ │ │ indicated by nibble 2 and 3.
│ E │ 0 │ 0-F │ Stop sound. Nibble 3 specifies how long to
│ │ │ │ delay before stopping the sound.
│ E │ 1 │ 0-1 │ Freeze/Unfreeze sound. If Nibble 3 = 1, the
│ │ │ │ sound will freeze, when set to 0, it will
│ │ │ │ unfreeze. When the sound in a track is
│ │ │ │ freezed, it will stop changing - it will
│ │ │ │ just keep the same volume level until
│ │ │ │ unfreezed, or aborted by a new note.
│ │ │ │ Portamento to note (SEC 3) will not
│ │ │ │ unfreeze the sound.
│ E │ 5 │ 0-F │ Set fade speed (0-slowest, F-fastest)
│ E │ 8 │ 0-3 │ Set amplitude/vibrato depth. Only the two
│ │ │ │ least significant bits of nibble 3 are used.
│ │ │ │ Bit 0:Vibrato depth, Bit 1:Amplitude depth.
│ │ │ │ The depth is largest when the bit is set.
│ E │ 9 │ 1-F │ Note retrigger. Nibble 3 specifies how long
│ │ │ │ to delay before retriggering the note. This
│ │ │ │ effect applies only to one line.
│ E │ A │ 0-F │ Set operator 1 output level.
│ E │ B │ 0-F │ Set operator 2 output level.
│ E │ D │ 1-F │ Delay note. Nibble 3 specifies how long to
│ │ │ │ delay before triggering the note. This
│ │ │ │ effect applies only to one line.
│ E │ E │ 0-F │ Delay pattern. Nibble 3 specifies how many
│ │ │ │ extra notes to delay at the current line
│ │ │ │ before proceeding to the next.
│ E │ F │ │ Set replaceable function. This code will
│ │ │ │ tell FM Tracker which function to use when
│ │ │ │ code 8xx appears. This will only affect the
│ │ │ │ current track, so the interpretation of
│ │ │ │ function 8 may vary from track to track.
│ E │ F │ 0 │ Set general (global) volume.
│ E │ F │ 1 │ Set operator 1 level (fine)
│ E │ F │ 2 │ Set operator 2 level (fine)
│ E │ F │ 3 │ Fade music.
│ │ │ │ Nibble2+Nibble3 = Destination Volume
│ │ │ │ e.g. The code 800 will fade the music down
│ │ │ │ to 0, the code 825 will fade the music up
│ │ │ │ or down to 25Hex.
│ F │ 0-1 │ 0-F │ Set tempo. When the two last nibbles are
│ │ │ │ less than 20Hex, the tempo is set. 0 is the
│ │ │ │ fastest, 1FHex is the slowest.
│ F │ 2 │ 0-F │ Set Clock Interrupt Speed. Usually the
│ │ │ │ timer interrupt is called 18.2 times per
│ │ │ │ second (18.2 Hz). This function allows you
│ │ │ │ to change this. The value 20Hex sets the
│ │ │ │ frequency to normal (18.2 Hz), 21Hex
│ │ │ │ doubles it, 22Hex, three-doubles, 23Hex
│ │ │ │ four-doubles and so on. In other words,
│ │ │ │ this will affect the playing speed, since
│ │ │ │ FM Tracker uses the clock interrupt to play
│ │ │ │ the music.
└──────────┴──────────┴──────────┴────────────────────────────────────────────
The instruments
───────────────
The melodic instruments are set with 12 bytes. You may make an instrument by
typing in these bytes directly, but you might think it is a bit difficult in
the beginning. Then move over to the detailed area by pressing 'I'.
Here is a description of these bytes:
AMP/VIB/EG/KSR/Multi Operator 1/2:
----------------------------------
Bit 7: Enable Amplitude Modulation if set.
Bit 6: Enable Vibrato if set.
Bit 5: EG Type: If not set, the sound starts releasing right after
hitting the sustain phase. Otherwise the sustain level is
preserved until the sound is released with "rel" or special
effect code E0x.
Bit 4: Keyboard Scaling Rate: If set, the sound's envelope is
foreshortened as the pitch rises.
Bits 3-0: The operator's frequency is multiplied with the number
in these bits.
KSL/Output Level Operator 1/2:
------------------------------
Bits 7-6: Makes the sound's level decrease as it rises in pitch.
00 means no decrease
11 is the highest decrease
Bits 5-0: Sets the operator's sound level. 0 is the loudest, 3FHex
is the softest.
Attack/Decay Operator 1/2:
--------------------------
Most significant nibble: Sets the attack rate. 0:slowest/never, F:fastest
Least significant nibble: Sets the decay rate. 0:slowest/never, F:fastest
Sustain/Release Operator 1/2:
-----------------------------
Most significant nibble: Sets the sustain level. 0: loudest, F:softest
Least significant nibble: Sets the release rate. 0: slowest/never, F:fastest
Feedback/Alg:
-------------
Bits 3-1: Sets the feedback level on operator 1. 0 is no feedback, 7 is
max feedback.
Bit 0: If not set, operator 1 modulates operator 2. If set both operators
make sound directly.
Waveform Operator 1/2:
----------------------
Bits 0 and 1 is used to make four different waveforms.
Both bits set to 0 is the standard waveform.
Finetune:
---------
The 11 bytes described above are set in the hardware. The finetune is
unique to FM Tracker. The bytes that sets the hardware are unsigned. This
byte is signed. The sound can be finetuned up or down. For values above 0
it is tuned up. For values below 0 (above 7FHex, FFHex = -1, FEHex = -2)
it is tuned down.
The 5 percussive instrument types are a bit different:
The bassdrum has the same parameters as an ordinary instrument, except that
there are no entries for the Feedback/Alg and the Finetune. A bassdrum
therefore requires 10 bytes.
The snare drum, tom tom, top cymbal and hihat has 5 parameter entries. The
only difference from the bassdrum is that these instrument types have only
one operator, while the bassdrum has two.
But you have to be aware of this when using percussive tracks:
The AMP/VIB/EG/KSR/Multi field for one instrument type may affect another
instrument type. The top cymbal AMP/VIB(...) won't just apply to the top
cymbal, but to the hihat as well. The hihat AMP/VIB(...) will, in addition to
the hihat itself, affect both the top cymbal and the snare drum.
Gee, was it really neccesarry to make it that complicated and confusing???
I certainly would like to have a word with the designers of the FM-chip. :-)
──────────────────────────────────────────────────────────────────────────────
Press F1 in FM Tracker for a complete key overview and other information.
──────────────────────────────────────────────────────────────────────────────
Address for bug reports, tips for future releases, questions, e.t.c.:
MORTEN STENSHORNE
GOMMERUD
N-3320 VESTFOSSEN
NORWAY
E-mail: mortens5@kihdata.kih.no